package 大数据应用赛_2020

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.{SaveMode, SparkSession}

object Exam4 {
  def main(args: Array[String]): Unit = {
    // 创建环境
    val conf = new SparkConf()
      .setAppName("log_analysis")
      .setMaster("local[6]")
    val sc = new SparkContext(conf)
    // 设置日志级别
    sc.setLogLevel("ERROR")
    val spark = SparkSession.builder().appName("exam_1").master("local[6]").getOrCreate()
    import org.apache.spark.sql.functions._
    import spark.implicits._
    // 读取数据
    val data = spark.read
      .option("header", "true")
      .csv("hdfs://192.168.64.178:9000/spark/clean/part-00000-9d953483-12c7-455f-998e-196b54d339a1-c000.csv")
    data.show()

    // 4、分析获得每个城市，在 职位名称中包含 “数据分析“” 职位需求 公司名称 按照需求数量倒序排列（4分）
    val data_use = data.select('city,'companyShortName,'positionName)
      .where('positionName contains("数据分析"))
      .groupBy('city,'companyShortName)
      .count()
      .orderBy('count desc)
      data_use.show()

//    data_use.coalesce(1) // 设置分区为1
//      .write.mode("overwrite")
//      .option("header","true")
//      .csv("G:\\Projects\\IdeaProjects\\Spark_Competition\\src\\main\\scala\\大数据应用赛_2020\\exam04_1")

//    data_use.write
//      .option("header","true")
//      .mode(SaveMode.Overwrite)
//      .csv("G:\\Projects\\IdeaProjects\\Spark_Competition\\src\\main\\scala\\大数据应用赛_2020\\exam04")
  }
}
